Automatic Array Privatization
نویسندگان
چکیده
Array privatization is one of the most e ective transformations for the exploitation of parallelism. In this paper, we present a technique for automatic array privatization. Our algorithm uses data ow analysis of array references to identify privatizable arrays intraprocedurally as well as interprocedurally. It employs static and dynamic resolution to determine the last value of a lived private array. We compare the result of automatic array privatization with that of manual array privatization and identify directions for future improvement. To enhance the e ectiveness of our algorithm, we develop a goal directly technique to analysis symbolic variables in the present of conditional statements, loops and index arrays.
منابع مشابه
Interprocedural Analysis Based on Guarded Array Regions
Array data ow information plays an important role for successful automatic parallelization of Fortran programs. This chapter proposes a powerful symbolic array data ow summary scheme to support array privatization and loop parallelization for programs with arbitrary control ow graphs and acyclic call graphs. Our approach summarizes array access information interprocedurally, using guarded array...
متن کاملAnalyses for the Translation of OpenMP Codes into SPMD Style with Array Privatization
A so-called SPMD style OpenMP program can achieve scalability on ccNUMA systems by means of array privatization, and earlier research has shown good performance under this approach. Since it is hard to write SPMD OpenMP code, we showed a strategy for the automatic translation of many OpenMP constructs into SPMD style in our previous work. In this paper, we first explain how to ensure that the O...
متن کاملAn Interprocedural Parallelizing Compiler and Its Support for Memory Hierarchy Research
We present several new compiler techniques employed by our interprocedural parallelizing research compiler, Panorama, to improve loop parallelization and the eeciency of memory references. We rst present an overview of the compiler and its associated memory architecture simulation environments. We then present an interprocedural array dataaow analysis, using guarded array regions, for automatic...
متن کاملAutomatic Parallelization Using the Value Evolution Graph
We introduce a framework for the analysis of memory reference sets addressed by induction variables without closed forms. This framework relies on a new data structure, the Value Evolution Graph (VEG), which models the global flow of scalar and array values within a program. We describe the application of our framework to array dataflow analysis, privatization, and dependence analysis. This res...
متن کاملInterprocedural Analysis for Parallelization
This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and integrated collection of analyses, including privatization and reduction recognition for both array and scalar variables, and symbolic analysis of array subscripts. The interprocedural analysis fra...
متن کامل